﻿using Stimulus360.Services;
using Stimulus360.Models.Data;
using System.Collections.Generic;
using Stimulus360.Models.Data.CustomTypes;

namespace Stimulus360.Controllers.Projects
{
    /// <summary>
    ///     Class representing the view model of project's search view
    /// </summary>
    public class ProjectsSearchViewModel
    {
        /// <summary>
        ///     Criteria of search(By Status, By TopN etc.)
        /// </summary>
        public string SearchCriteria { get; set; }

        /// <summary>
        ///     Search string
        /// </summary>
        public string SearchString { get; set; }

        /// <summary>
        ///     List of project satisfying the search criteria
        /// </summary>
        public PaginatedCollection<Project> Projects { get; set; }

        /// <summary>
        ///     List of investment categories for the tag cloud
        /// </summary>
        [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "CA2227:CollectionPropertiesShouldBeReadOnly", Justification ="Property needs to be set in the controllers")]
        public ICollection<InvestmentCategorySummary> Categories { get; set; }
    }

}
